/*
 * Copyright (c) 2012 SUBSECRETARIA DEFENSORIA DEL ESPACIO PUBLICO - SDEP.
 * All Rights Reserved.
 * This software is the confidential and proprietary information of SDEP
 * Developed By CONSTULT-SOFT S.A, Development Team 2012.
 *
 */
package co.gov.medellin.sdep.sisdep.gestion.dto;

import java.io.Serializable;
import java.util.Date;

import co.gov.medellin.sdep.sisdep.admin.exception.ValueObjectException;
import co.gov.medellin.sdep.sisdep.admin.service.IValueObjectService;
import co.gov.medellin.sdep.sisdep.common.AppConstants;
import co.gov.medellin.sdep.sisdep.common.SpringAppContext;

/**
 * <p>
 * DTO que mapea con los campos del reporte de Visitas Administrativas.
 * </p>
 * <p>
 * Copyright (c) 2012<BR>
 * Consult-Soft S.A.<BR>
 * Created on: Jun 4, 2012<BR>
 * 
 * @author atabares
 * </p>
 */
public class VisitaAdministrativaDTO implements Serializable {

	/** Serial key. */
	private static final long serialVersionUID = 3709001834000529967L;
	
	/** Identificador del registro de visita administrativa(GES_VISITA_ADM_T). */
	private java.lang.String idVisita;
	
	/** Identificador del registro de solicitud(GES_VISITA_ADM_T). */
	private java.lang.String idSolicitud;
	
	/** Fecha de la visita(GES_VISITA_ADM_T). */
	private java.lang.String fechaVisita;
	
	/** Hora de la visita(GES_VISITA_ADM_T). */
	private java.lang.String horaVisita;
	
	/** Radicado asociado a la solicitud(ADM_SOLICITUD_T). */
	private java.lang.String radicado;
	
	/** Fecha de radicado asociado a la solicitud(ADM_SOLICITUD_T). */
	private java.lang.String fechaRadicado;
	
	/** Tipo de visita(GES_VISITA_ADM_T). */
	private java.lang.String tipoVisita;
	
	/** Indica si tiene hoja de vida(GES_VISITA_ADM_T). */
	private java.lang.String hojaVida;
	
	/** Indica si tiene E.S.E digital(GES_VISITA_ADM_T). */
	private java.lang.String eseDigital;
		
	/** Nombre completo de la persona(ADM_PERSONA_T). */
	private java.lang.String nombreCompleto;
	
	/** Documento de identidad de la persona(ADM_PERSONA_T). */
	private java.lang.String cedula;
	
	/** Direccion de la persona(ADM_PERSONA_T). */
	private java.lang.String direccionPersona;
	
	/** Telefono de la persona(ADM_PERSONA_T). */
	private java.lang.String telefono;
	
	/** Celular de la persona(ADM_PERSONA_T). */
	private java.lang.String celular;
	
	/** Email de la persona(ADM_PERSONA_T). */
	private java.lang.String email;
	
	/** Barrio donde reside la persona(ADM_PERSONA_T). */
	private java.lang.String barrioPersona;
	
	/** Indica si el comerciante es regulado(GES_VISITA_ADM_T). */
	private java.lang.String regulado;
	
	/** Fecha en la cual se efectua el vencimiento del permiso actual si existe(GES_VISITA_ADM_T). */
	private java.lang.String fechaVencimiento;
	
	/** Direccion del puesto de venta(ADM_SOLICITUD_T). */
	private java.lang.String direccionVenta;
	
	/** Barrio del puesto de venta(ADM_SOLICITUD_T). */
	private java.lang.String barrioVenta;
	
	/** Comuna del puesto de venta(ADM_SOLICITUD_T). */
	private java.lang.String comunaVenta;
	
	/** Hoarario que cubre el comerciante(GES_VISITA_ADM_T). */
	private java.lang.String horario;
	
	/** (PENDIENTE DEFINIR). */
	private java.lang.String tipologia;
	
	/** (PENDIENTE DEFINIR). */
	private java.lang.String amoblamiento;
	
	/** (PENDIENTE DEFINIR). */
	private java.lang.String claseVenta;
	
	/** Concepto emitido en la visita.(GES_VISITA_ADM_T). */
	private java.lang.String concepto;
	
	/** (PENDIENTE DEFINIR). */
	private java.lang.String modulo;
	
	/** (PENDIENTE DEFINIR). */
	private java.lang.String contratoHacienda;
	
	/** (PENDIENTE DEFINIR). */
	private java.lang.String actaEntrega;
	
	/** Observaciones asociadas a la visitaSDEP(GES_VISITA_ADM_T). */
	private java.lang.String observaciones;
	
	/** Indica el path donde se encuentra la imagen del registro grafico del sector(PENDIENTE DEFINIR). */
	private java.lang.String registroGraficoSector;
	
	/** Indica el path donde se encuentra la imagen del registro fotografico del sector(PENDIENTE DEFINIR). */
	private java.lang.String registroFotograficoSector;
	
	/** DAO ValueObject */
	private co.gov.medellin.sdep.sisdep.admin.service.IValueObjectService valueObjectService;
	
	/**
	 * Constructor por defecto.
	 */
	public VisitaAdministrativaDTO() {
	}

	/**
	 * Obtiene el parametro idVisita.
	 * @see VisitaAdministrativaDTO#idVisita
	 *
	 * @return El parametro idVisita.
	 */
	public java.lang.String getIdVisita() {
		return idVisita;
	}

	/**
	 * Asigna el parametro idVisita.
	 * @see VisitaAdministrativaDTO#idVisita
	 *
	 * @param idVisita valor a asignar al parametro idVisita.
	 */
	public void setIdVisita(java.lang.String idVisita) {
		this.idVisita = idVisita;
	}

	/**
	 * Obtiene el parametro idSolicitud.
	 * @see VisitaAdministrativaDTO#idSolicitud
	 *
	 * @return El parametro idSolicitud.
	 */
	public java.lang.String getIdSolicitud() {
		return idSolicitud;
	}

	/**
	 * Asigna el parametro idSolicitud.
	 * @see VisitaAdministrativaDTO#idSolicitud
	 *
	 * @param idSolicitud valor a asignar al parametro idSolicitud.
	 */
	public void setIdSolicitud(java.lang.String idSolicitud) {
		this.idSolicitud = idSolicitud;
	}

	/**
	 * Obtiene el parametro fechaVisita.
	 * @see VisitaAdministrativaDTO#fechaVisita
	 *
	 * @return El parametro fechaVisita.
	 */
	public java.lang.String getFechaVisita() {
		return fechaVisita;
	}

	/**
	 * Asigna el parametro fechaVisita.
	 * @see VisitaAdministrativaDTO#fechaVisita
	 *
	 * @param fechaVisita valor a asignar al parametro fechaVisita.
	 */
	public void setFechaVisita(java.lang.String fechaVisita) {
		this.fechaVisita = fechaVisita;
	}

	/**
	 * Obtiene el parametro horaVisita.
	 * @see VisitaAdministrativaDTO#horaVisita
	 *
	 * @return El parametro horaVisita.
	 */
	public java.lang.String getHoraVisita() {
		Date date = new Date();

		this.horaVisita = String.valueOf(date.getHours()) + ":" + String.valueOf(date.getMinutes());
		
		return horaVisita;
	}

	/**
	 * Asigna el parametro horaVisita.
	 * @see VisitaAdministrativaDTO#horaVisita
	 *
	 * @param horaVisita valor a asignar al parametro horaVisita.
	 */
	public void setHoraVisita(java.lang.String horaVisita) {
		this.horaVisita = horaVisita;
	}

	/**
	 * Obtiene el parametro radicado.
	 * @see VisitaAdministrativaDTO#radicado
	 *
	 * @return El parametro radicado.
	 */
	public java.lang.String getRadicado() {
		return radicado;
	}

	/**
	 * Asigna el parametro radicado.
	 * @see VisitaAdministrativaDTO#radicado
	 *
	 * @param radicado valor a asignar al parametro radicado.
	 */
	public void setRadicado(java.lang.String radicado) {
		this.radicado = radicado;
	}

	/**
	 * Obtiene el parametro fechaRadicado.
	 * @see VisitaAdministrativaDTO#fechaRadicado
	 *
	 * @return El parametro fechaRadicado.
	 */
	public java.lang.String getFechaRadicado() {
		return fechaRadicado;
	}

	/**
	 * Asigna el parametro fechaRadicado.
	 * @see VisitaAdministrativaDTO#fechaRadicado
	 *
	 * @param fechaRadicado valor a asignar al parametro fechaRadicado.
	 */
	public void setFechaRadicado(java.lang.String fechaRadicado) {
		this.fechaRadicado = fechaRadicado;
	}

	/**
	 * Obtiene el parametro tipoVisita.
	 * @see VisitaAdministrativaDTO#tipoVisita
	 *
	 * @return El parametro tipoVisita.
	 * @throws ValueObjectException 
	 */
	public java.lang.String getTipoVisita() throws ValueObjectException {
		if (this.tipoVisita != null) {
			return ((IValueObjectService) SpringAppContext.getBean(AppConstants.VALUE_OBJECT_SERVICE))
				.getTypeValue(this.tipoVisita).getComponentValueName();
		}
		
		return AppConstants.EMPTY;
	}

	/**
	 * Asigna el parametro tipoVisita.
	 * @see VisitaAdministrativaDTO#tipoVisita
	 *
	 * @param tipoVisita valor a asignar al parametro tipoVisita.
	 */
	public void setTipoVisita(java.lang.String tipoVisita) {
		this.tipoVisita = tipoVisita;
	}

	/**
	 * Obtiene el parametro hojaVida.
	 * @see VisitaAdministrativaDTO#hojaVida
	 *
	 * @return El parametro hojaVida.
	 */
	public java.lang.String getHojaVida() {
		return hojaVida;
	}

	/**
	 * Asigna el parametro hojaVida.
	 * @see VisitaAdministrativaDTO#hojaVida
	 *
	 * @param hojaVida valor a asignar al parametro hojaVida.
	 */
	public void setHojaVida(java.lang.String hojaVida) {
		this.hojaVida = hojaVida;
	}

	/**
	 * Obtiene el parametro eseDigital.
	 * @see VisitaAdministrativaDTO#eseDigital
	 *
	 * @return El parametro eseDigital.
	 */
	public java.lang.String getEseDigital() {
		return eseDigital;
	}

	/**
	 * Asigna el parametro eseDigital.
	 * @see VisitaAdministrativaDTO#eseDigital
	 *
	 * @param eseDigital valor a asignar al parametro eseDigital.
	 */
	public void setEseDigital(java.lang.String eseDigital) {
		this.eseDigital = eseDigital;
	}

	/**
	 * Obtiene el parametro nombreCompleto.
	 * @see VisitaAdministrativaDTO#nombreCompleto
	 *
	 * @return El parametro nombreCompleto.
	 */
	public java.lang.String getNombreCompleto() {
		return nombreCompleto;
	}

	/**
	 * Asigna el parametro nombreCompleto.
	 * @see VisitaAdministrativaDTO#nombreCompleto
	 *
	 * @param nombreCompleto valor a asignar al parametro nombreCompleto.
	 */
	public void setNombreCompleto(java.lang.String nombreCompleto) {
		this.nombreCompleto = nombreCompleto;
	}

	/**
	 * Obtiene el parametro cedula.
	 * @see VisitaAdministrativaDTO#cedula
	 *
	 * @return El parametro cedula.
	 */
	public java.lang.String getCedula() {
		return cedula;
	}

	/**
	 * Asigna el parametro cedula.
	 * @see VisitaAdministrativaDTO#cedula
	 *
	 * @param cedula valor a asignar al parametro cedula.
	 */
	public void setCedula(java.lang.String cedula) {
		this.cedula = cedula;
	}

	/**
	 * Obtiene el parametro direccionPersona.
	 * @see VisitaAdministrativaDTO#direccionPersona
	 *
	 * @return El parametro direccionPersona.
	 */
	public java.lang.String getDireccionPersona() {
		return direccionPersona;
	}

	/**
	 * Asigna el parametro direccionPersona.
	 * @see VisitaAdministrativaDTO#direccionPersona
	 *
	 * @param direccionPersona valor a asignar al parametro direccionPersona.
	 */
	public void setDireccionPersona(java.lang.String direccionPersona) {
		this.direccionPersona = direccionPersona;
	}

	/**
	 * Obtiene el parametro telefono.
	 * @see VisitaAdministrativaDTO#telefono
	 *
	 * @return El parametro telefono.
	 */
	public java.lang.String getTelefono() {
		return telefono;
	}

	/**
	 * Asigna el parametro telefono.
	 * @see VisitaAdministrativaDTO#telefono
	 *
	 * @param telefono valor a asignar al parametro telefono.
	 */
	public void setTelefono(java.lang.String telefono) {
		this.telefono = telefono;
	}

	/**
	 * Obtiene el parametro celular.
	 * @see VisitaAdministrativaDTO#celular
	 *
	 * @return El parametro celular.
	 */
	public java.lang.String getCelular() {
		return celular;
	}

	/**
	 * Asigna el parametro celular.
	 * @see VisitaAdministrativaDTO#celular
	 *
	 * @param celular valor a asignar al parametro celular.
	 */
	public void setCelular(java.lang.String celular) {
		this.celular = celular;
	}

	/**
	 * Obtiene el parametro email.
	 * @see VisitaAdministrativaDTO#email
	 *
	 * @return El parametro email.
	 */
	public java.lang.String getEmail() {
		return email;
	}

	/**
	 * Asigna el parametro email.
	 * @see VisitaAdministrativaDTO#email
	 *
	 * @param email valor a asignar al parametro email.
	 */
	public void setEmail(java.lang.String email) {
		this.email = email;
	}

	/**
	 * Obtiene el parametro barrioPersona.
	 * @see VisitaAdministrativaDTO#barrioPersona
	 *
	 * @return El parametro barrioPersona.
	 */
	public java.lang.String getBarrioPersona() {
		return barrioPersona;
	}

	/**
	 * Asigna el parametro barrioPersona.
	 * @see VisitaAdministrativaDTO#barrioPersona
	 *
	 * @param barrioPersona valor a asignar al parametro barrioPersona.
	 */
	public void setBarrioPersona(java.lang.String barrioPersona) {
		this.barrioPersona = barrioPersona;
	}

	/**
	 * Obtiene el parametro regulado.
	 * @see VisitaAdministrativaDTO#regulado
	 *
	 * @return El parametro regulado.
	 */
	public java.lang.String getRegulado() {
		return regulado;
	}

	/**
	 * Asigna el parametro regulado.
	 * @see VisitaAdministrativaDTO#regulado
	 *
	 * @param regulado valor a asignar al parametro regulado.
	 */
	public void setRegulado(java.lang.String regulado) {
		this.regulado = regulado;
	}

	/**
	 * Obtiene el parametro fechaVencimiento.
	 * @see VisitaAdministrativaDTO#fechaVencimiento
	 *
	 * @return El parametro fechaVencimiento.
	 */
	public java.lang.String getFechaVencimiento() {
		return fechaVencimiento;
	}

	/**
	 * Asigna el parametro fechaVencimiento.
	 * @see VisitaAdministrativaDTO#fechaVencimiento
	 *
	 * @param fechaVencimiento valor a asignar al parametro fechaVencimiento.
	 */
	public void setFechaVencimiento(java.lang.String fechaVencimiento) {
		this.fechaVencimiento = fechaVencimiento;
	}

	/**
	 * Obtiene el parametro direccionVenta.
	 * @see VisitaAdministrativaDTO#direccionVenta
	 *
	 * @return El parametro direccionVenta.
	 */
	public java.lang.String getDireccionVenta() {
		return direccionVenta;
	}

	/**
	 * Asigna el parametro direccionVenta.
	 * @see VisitaAdministrativaDTO#direccionVenta
	 *
	 * @param direccionVenta valor a asignar al parametro direccionVenta.
	 */
	public void setDireccionVenta(java.lang.String direccionVenta) {
		this.direccionVenta = direccionVenta;
	}

	/**
	 * Obtiene el parametro barrioVenta.
	 * @see VisitaAdministrativaDTO#barrioVenta
	 *
	 * @return El parametro barrioVenta.
	 */
	public java.lang.String getBarrioVenta() {
		return barrioVenta;
	}

	/**
	 * Asigna el parametro barrioVenta.
	 * @see VisitaAdministrativaDTO#barrioVenta
	 *
	 * @param barrioVenta valor a asignar al parametro barrioVenta.
	 */
	public void setBarrioVenta(java.lang.String barrioVenta) {
		this.barrioVenta = barrioVenta;
	}

	/**
	 * Obtiene el parametro comunaVenta.
	 * @see VisitaAdministrativaDTO#comunaVenta
	 *
	 * @return El parametro comunaVenta.
	 */
	public java.lang.String getComunaVenta() {
		return comunaVenta;
	}

	/**
	 * Asigna el parametro comunaVenta.
	 * @see VisitaAdministrativaDTO#comunaVenta
	 *
	 * @param comunaVenta valor a asignar al parametro comunaVenta.
	 */
	public void setComunaVenta(java.lang.String comunaVenta) {
		this.comunaVenta = comunaVenta;
	}

	/**
	 * Obtiene el parametro horario.
	 * @see VisitaAdministrativaDTO#horario
	 *
	 * @return El parametro horario.
	 */
	public java.lang.String getHorario() {
		return horario;
	}

	/**
	 * Asigna el parametro horario.
	 * @see VisitaAdministrativaDTO#horario
	 *
	 * @param horario valor a asignar al parametro horario.
	 */
	public void setHorario(java.lang.String horario) {
		this.horario = horario;
	}

	/**
	 * Obtiene el parametro tipologia.
	 * @see VisitaAdministrativaDTO#tipologia
	 *
	 * @return El parametro tipologia.
	 */
	public java.lang.String getTipologia() {
		return tipologia;
	}

	/**
	 * Asigna el parametro tipologia.
	 * @see VisitaAdministrativaDTO#tipologia
	 *
	 * @param tipologia valor a asignar al parametro tipologia.
	 */
	public void setTipologia(java.lang.String tipologia) {
		this.tipologia = tipologia;
	}

	/**
	 * Obtiene el parametro amoblamiento.
	 * @see VisitaAdministrativaDTO#amoblamiento
	 *
	 * @return El parametro amoblamiento.
	 */
	public java.lang.String getAmoblamiento() {
		return amoblamiento;
	}

	/**
	 * Asigna el parametro amoblamiento.
	 * @see VisitaAdministrativaDTO#amoblamiento
	 *
	 * @param amoblamiento valor a asignar al parametro amoblamiento.
	 */
	public void setAmoblamiento(java.lang.String amoblamiento) {
		this.amoblamiento = amoblamiento;
	}

	/**
	 * Obtiene el parametro claseVenta.
	 * @see VisitaAdministrativaDTO#claseVenta
	 *
	 * @return El parametro claseVenta.
	 */
	public java.lang.String getClaseVenta() {
		return claseVenta;
	}

	/**
	 * Asigna el parametro claseVenta.
	 * @see VisitaAdministrativaDTO#claseVenta
	 *
	 * @param claseVenta valor a asignar al parametro claseVenta.
	 */
	public void setClaseVenta(java.lang.String claseVenta) {
		this.claseVenta = claseVenta;
	}

	/**
	 * Obtiene el parametro concepto.
	 * @see VisitaAdministrativaDTO#concepto
	 *
	 * @return El parametro concepto.
	 */
	public java.lang.String getConcepto() {
		return concepto;
	}

	/**
	 * Asigna el parametro concepto.
	 * @see VisitaAdministrativaDTO#concepto
	 *
	 * @param concepto valor a asignar al parametro concepto.
	 */
	public void setConcepto(java.lang.String concepto) {
		this.concepto = concepto;
	}

	/**
	 * Obtiene el parametro modulo.
	 * @see VisitaAdministrativaDTO#modulo
	 *
	 * @return El parametro modulo.
	 */
	public java.lang.String getModulo() {
		return modulo;
	}

	/**
	 * Asigna el parametro modulo.
	 * @see VisitaAdministrativaDTO#modulo
	 *
	 * @param modulo valor a asignar al parametro modulo.
	 */
	public void setModulo(java.lang.String modulo) {
		this.modulo = modulo;
	}

	/**
	 * Obtiene el parametro contratoHacienda.
	 * @see VisitaAdministrativaDTO#contratoHacienda
	 *
	 * @return El parametro contratoHacienda.
	 */
	public java.lang.String getContratoHacienda() {
		return contratoHacienda;
	}

	/**
	 * Asigna el parametro contratoHacienda.
	 * @see VisitaAdministrativaDTO#contratoHacienda
	 *
	 * @param contratoHacienda valor a asignar al parametro contratoHacienda.
	 */
	public void setContratoHacienda(java.lang.String contratoHacienda) {
		this.contratoHacienda = contratoHacienda;
	}

	/**
	 * Obtiene el parametro actaEntrega.
	 * @see VisitaAdministrativaDTO#actaEntrega
	 *
	 * @return El parametro actaEntrega.
	 */
	public java.lang.String getActaEntrega() {
		return actaEntrega;
	}

	/**
	 * Asigna el parametro actaEntrega.
	 * @see VisitaAdministrativaDTO#actaEntrega
	 *
	 * @param actaEntrega valor a asignar al parametro actaEntrega.
	 */
	public void setActaEntrega(java.lang.String actaEntrega) {
		this.actaEntrega = actaEntrega;
	}

	/**
	 * Obtiene el parametro observaciones.
	 * @see VisitaAdministrativaDTO#observaciones
	 *
	 * @return El parametro observaciones.
	 */
	public java.lang.String getObservaciones() {
		return observaciones;
	}

	/**
	 * Asigna el parametro observaciones.
	 * @see VisitaAdministrativaDTO#observaciones
	 *
	 * @param observaciones valor a asignar al parametro observaciones.
	 */
	public void setObservaciones(java.lang.String observaciones) {
		this.observaciones = observaciones;
	}

	/**
	 * Obtiene el parametro registroGraficoSector.
	 * @see VisitaAdministrativaDTO#registroGraficoSector
	 *
	 * @return El parametro registroGraficoSector.
	 */
	public java.lang.String getRegistroGraficoSector() {
		return registroGraficoSector;
	}

	/**
	 * Asigna el parametro registroGraficoSector.
	 * @see VisitaAdministrativaDTO#registroGraficoSector
	 *
	 * @param registroGraficoSector valor a asignar al parametro registroGraficoSector.
	 */
	public void setRegistroGraficoSector(java.lang.String registroGraficoSector) {
		this.registroGraficoSector = registroGraficoSector;
	}

	/**
	 * Obtiene el parametro registroFotograficoSector.
	 * @see VisitaAdministrativaDTO#registroFotograficoSector
	 *
	 * @return El parametro registroFotograficoSector.
	 */
	public java.lang.String getRegistroFotograficoSector() {
		return registroFotograficoSector;
	}

	/**
	 * Asigna el parametro registroFotograficoSector.
	 * @see VisitaAdministrativaDTO#registroFotograficoSector
	 *
	 * @param registroFotograficoSector valor a asignar al parametro registroFotograficoSector.
	 */
	public void setRegistroFotograficoSector(java.lang.String registroFotograficoSector) {
		this.registroFotograficoSector = registroFotograficoSector;
	}

	/**
	* Obtiene el parametro valueObjectService.
	* @see VisitaAdministrativaDTO#valueObjectService
	*
	* @return El parametro valueObjectService.
	*/
	public co.gov.medellin.sdep.sisdep.admin.service.IValueObjectService getValueObjectService() {
		return valueObjectService;
	}

	/**
	* Asigna el parametro valueObjectService.
	* @see VisitaAdministrativaDTO#valueObjectService
	*
	* @param valueObjectService valor a asignar al parametro valueObjectService.
	*/
	public void setValueObjectService(co.gov.medellin.sdep.sisdep.admin.service.IValueObjectService valueObjectService) {
		this.valueObjectService = valueObjectService;
	}

}
